gdk: Deprecate gdk_cairo_draw_from_gl()
authorBenjamin Otte <otte@redhat.com>
Sat, 11 Sep 2021 22:10:10 +0000 (00:10 +0200)
committerBenjamin Otte <otte@redhat.com>
Sun, 12 Sep 2021 03:54:37 +0000 (05:54 +0200)
It's broken with various pixel formats and OpenGL ES, it's hard to
understand what everything does, and gdk_texture_download() can be used
instead.

gdk/gdkcairo.h
gdk/gdkgl.c

index 40ab46baf6f5a201b32751297803fe28918d13d4..f2dfa3177e6fe07d2d14938221ad08f41c12bf47 100644 (file)
@@ -50,7 +50,7 @@ cairo_region_t *
            gdk_cairo_region_create_from_surface
                                         (cairo_surface_t      *surface);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_6_FOR(gdk_gl_texture_new)
 void       gdk_cairo_draw_from_gl (cairo_t              *cr,
                                    GdkSurface            *surface,
                                    int                   source,
index 4e57853afb3098c0272867993e2d23d5e974e197..417c29d15bce4bfa605ee0fc615ca5d601f01722 100644 (file)
@@ -301,7 +301,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
  * @width: The width of the region to draw
  * @height: The height of the region to draw
  *
- * The main way to draw GL content in GTK.
+ * The main way to not draw GL content in GTK.
  *
  * It takes a render buffer ID (@source_type == GL_RENDERBUFFER) or a texture
  * id (@source_type == GL_TEXTURE) and draws it onto @cr with an OVER operation,
@@ -319,6 +319,12 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
  * with alpha components, so make sure you use GL_TEXTURE if using alpha.
  *
  * Calling this may change the current GL context.
+ *
+ * Deprecated: 4.6: The function is overly complex and produces broken output
+ *   in various combinations of arguments. If you want to draw with GL textures
+ *   in GTK, use [ctor@Gdk.GLTexture.new]; if you want to use that texture in
+ *   Cairo, use [method@Gdk.Texture.download] to download the data into a Cairo
+ *   image surface.
  */
 void
 gdk_cairo_draw_from_gl (cairo_t              *cr,